Mẫu biểu đồ đường/tuyến được tạo bằng JavaScript dưới đây hỗ trợ vẽ hai hoặc nhiều thước đo. Tính năng này thực sự hữu ích khi trình bày các giá trị trong một biểu đồ có nhiều biến động dữ liệu.
Code mẫu JavaScript trong Canvas JS dưới đây hỗ trợ tạo tất cả đồ thị/biểu đồ kèm trục. Ví dụ này cho bạn thấy biểu đồ đường sử dụng nhiều trục Y để biểu thị các tỷ lệ khác nhau.
Bài viết cũng cung cấp mã nguồn cho bạn chỉnh sửa code JavaScript tạo biểu đồ bên dưới trong trình duyệt hoặc lưu về máy để chạy nội bộ.
<!DOCTYPE HTML>
<html>
<head>
<script>
window.onload = function () {
var chart = new CanvasJS.Chart("chartContainer", {
title:{
text: "Weekly Revenue Analysis for First Quarter"
},
axisY:[{
title: "Order",
lineColor: "#C24642",
tickColor: "#C24642",
labelFontColor: "#C24642",
titleFontColor: "#C24642",
includeZero: true,
suffix: "k"
},
{
title: "Footfall",
lineColor: "#369EAD",
tickColor: "#369EAD",
labelFontColor: "#369EAD",
titleFontColor: "#369EAD",
includeZero: true,
suffix: "k"
}],
axisY2: {
title: "Revenue",
lineColor: "#7F6084",
tickColor: "#7F6084",
labelFontColor: "#7F6084",
titleFontColor: "#7F6084",
includeZero: true,
prefix: "$",
suffix: "k"
},
toolTip: {
shared: true
},
legend: {
cursor: "pointer",
itemclick: toggleDataSeries
},
data: [{
type: "line",
name: "Footfall",
color: "#369EAD",
showInLegend: true,
axisYIndex: 1,
dataPoints: [
{ x: new Date(2017, 00, 7), y: 85.4 },
{ x: new Date(2017, 00, 14), y: 92.7 },
{ x: new Date(2017, 00, 21), y: 64.9 },
{ x: new Date(2017, 00, 28), y: 58.0 },
{ x: new Date(2017, 01, 4), y: 63.4 },
{ x: new Date(2017, 01, 11), y: 69.9 },
{ x: new Date(2017, 01, 18), y: 88.9 },
{ x: new Date(2017, 01, 25), y: 66.3 },
{ x: new Date(2017, 02, 4), y: 82.7 },
{ x: new Date(2017, 02, 11), y: 60.2 },
{ x: new Date(2017, 02, 18), y: 87.3 },
{ x: new Date(2017, 02, 25), y: 98.5 }
]
},
{
type: "line",
name: "Order",
color: "#C24642",
axisYIndex: 0,
showInLegend: true,
dataPoints: [
{ x: new Date(2017, 00, 7), y: 32.3 },
{ x: new Date(2017, 00, 14), y: 33.9 },
{ x: new Date(2017, 00, 21), y: 26.0 },
{ x: new Date(2017, 00, 28), y: 15.8 },
{ x: new Date(2017, 01, 4), y: 18.6 },
{ x: new Date(2017, 01, 11), y: 34.6 },
{ x: new Date(2017, 01, 18), y: 37.7 },
{ x: new Date(2017, 01, 25), y: 24.7 },
{ x: new Date(2017, 02, 4), y: 35.9 },
{ x: new Date(2017, 02, 11), y: 12.8 },
{ x: new Date(2017, 02, 18), y: 38.1 },
{ x: new Date(2017, 02, 25), y: 42.4 }
]
},
{
type: "line",
name: "Revenue",
color: "#7F6084",
axisYType: "secondary",
showInLegend: true,
dataPoints: [
{ x: new Date(2017, 00, 7), y: 42.5 },
{ x: new Date(2017, 00, 14), y: 44.3 },
{ x: new Date(2017, 00, 21), y: 28.7 },
{ x: new Date(2017, 00, 28), y: 22.5 },
{ x: new Date(2017, 01, 4), y: 25.6 },
{ x: new Date(2017, 01, 11), y: 45.7 },
{ x: new Date(2017, 01, 18), y: 54.6 },
{ x: new Date(2017, 01, 25), y: 32.0 },
{ x: new Date(2017, 02, 4), y: 43.9 },
{ x: new Date(2017, 02, 11), y: 26.4 },
{ x: new Date(2017, 02, 18), y: 40.3 },
{ x: new Date(2017, 02, 25), y: 54.2 }
]
}]
});
chart.render();
function toggleDataSeries(e) {
if (typeof (e.dataSeries.visible) === "undefined" || e.dataSeries.visible) {
e.dataSeries.visible = false;
} else {
e.dataSeries.visible = true;
}
e.chart.render();
}
}
</script>
</head>
<body>
<div id="chartContainer" style="height: 300px; width: 100%;"></div>
<script src="https://canvasjs.com/assets/script/canvasjs.min.js"></script>
</body>
</html>
Nguồn: CanvasJS
Tùy biến biểu đồ đường nhiều trục
Bạn có thể đính kèm chuỗi dữ liệu vào trục thứ hai bằng cách dùng thuộc tính axisXType
/ axisYType
.
Bạn cũng có thể chọn chỉ mục của trục cho từng chuỗi dữ liệu dùng axisXIndex
và axisYIndex
. Các lựa chọn tùy chỉnh thường dùng khác là: shared
- chia sẻ, showInLegend
- hiện trong chú giải…
Source: https://quantrimang.com/hoc/code-javascript-tao-bieu-do-duong-voi-nhieu-truc-195108